$(document).ready(function() {

    var urlCarrinho = serverurl + "entity.carrinho";
    var urlCompra = serverurl + "entity.compra";

    var usuario;
    if (window.localStorage.getItem("session_usuario")) {
        usuario = JSON.parse(window.localStorage.getItem("session_usuario"));
        getItensCarrinho();
    } else {
        usuario = null;
    }

    var compras = $("#comprasbox");
    compras.html("<tr><td colspan='4' align='center'>Carrinho vazio.</td></tr>");

    $("#bttFinalizar").click(function() {
        var x = confirm("Deseja finalizar a compra?");
        if (x) {
            var carrinho = JSON.parse(window.sessionStorage.getItem("carrinho"));
            finalizarCompra(carrinho);
        } else {
            return false;
        }
    });

    function finalizarCompra(obj) {

        var criterios = JSON.stringify({
            'id': obj.carrinhoId,
            'carrinho': {
                'carrinhoId': obj.carrinhoId,
                'compraCompraId': obj.compraCompraId.compraId,
                'finalizada': 1,
                'usuarioUsuarioId': obj.usuarioUsuarioId.usuarioId
            }
        });

        $.ajax({
            url: urlCarrinho + '/' + obj.carrinhoId,
            cache: false,
            type: 'PUT',
            dataType: 'json',
            data: criterios,
            contentType: 'application/json',
            success: function(data) {
                alert("Compra finalizada com sucesso!");
                location.reload();
            },
            error: function() {
                alert("Erro ao finalizar compra!");
            }
        });
    }

    getItensCarrinho();

    function getItensCarrinho() {
        var total = 0;
        $.getJSON(urlCarrinho, function(data) {
            if (data.length > 0) {
                compras.empty();
            }
            $(data).each(function(i, field) {
                if (field.usuarioUsuarioId.usuarioId === usuario.usuarioId) {
                    if (data && field.finalizada === 0) {
                        window.sessionStorage.setItem("carrinho", JSON.stringify(field));
                        var jogo = field.compraCompraId.jogoJogoId;
                        var compra = field.compraCompraId;
                        compras.append("<tr><td>" + jogo.titulo + "</td><td>" + compra.quantidade + "</td><td>" + jogo.valor + "</td><td align='center'><img id='remove_" + i + "' src='_img/delete.png' height='16' width='16' /></td></tr>");
                        total = total + parseFloat(jogo.valor);

                        $("#total").text("R$" + total.toFixed(2));

                        $("#remove_" + i).click(function() {
                            removeItem(field);
                        });

                    }
                }
            });
        });
    }

    function removeItem(obj) {
        var compraId = obj.compraCompraId.compraId;
        var carrinhoId = obj.carrinhoId;

        $.ajax({
            url: urlCarrinho + '/' + carrinhoId,
            cache: false,
            type: 'DELETE',
            dataType: 'json',
            contentType: 'application/json',
            success: function(data) {
                $.ajax({
                    url: urlCompra + '/' + compraId,
                    cache: false,
                    type: 'DELETE',
                    dataType: 'json',
                    contentType: 'application/json',
                    success: function(data) {
                        location.reload();
                    },
                    error: function() {
                        alert("Erro remover compra!");
                    }
                });
            },
            error: function() {
                alert("Erro remover compra!");
            }
        });
    }

});